/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gerenciadoc.dao;

import gerenciadoc.bean.Usuario;
import gerenciadoc.utils.HibernateUtil;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;


/**
 *
 * @author Rafael
 */
public class UsuarioDAO extends GenericaDAO<Usuario> {


        public void save(Usuario usuario) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.save(usuario);
        t.commit();
    }

    public Usuario getUsuario(long id) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        return (Usuario) session.load(Usuario.class, id);
    }

    public List<Usuario> list() {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        List lista = session.createQuery("from Usuario").list();
        t.commit();
        return lista;
    }


    public void remove(Usuario usuario) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.delete(usuario);
        t.commit();
    }

    public void update(Usuario usuario) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.update(usuario);
        t.commit();
    }


//    private final Session s;

//    public UsuarioDAO()
//    {
//        s = HibernateUtil.getSessionFactory().openSession();
//    }



//    public List<Usuario> list() {
//
////        Session session = HibernateUtil.getSession();
////        Transaction t = session.beginTransaction();
////        List lista = session.createQuery("from Usuario").list();
////        t.commit();
////        return lista;
////
//        try {
//            String sql = "from Usuario";
//            Query qr = s.createQuery(sql);
//            return (List<Usuario>) qr.list();
//        } finally {
//            s.close();
//        }
//    }

}
